A service-oriented architecture (SOA) is an architectural pattern which can be used to implement a software application. In a SOA architecture, application components provide services to other components using a communications protocol over a network. A service can be a self-contained unit of functionality that is a discretely invokable operation. As another example, a service can be an interface definition that may list several discrete services/operations. Services can be combined to provide the functionality of a software application. Each respective service can exchange information with other services in the network to achieve the functionality provided by the service.